Joller-Voss Nachdiplomkurs Java - Java Certification
Sommer Semester,
Java Security Konstrukte und Konzepte
vorheriges Kapitel     Kursunterlagen Index     Nächstes Kapitel    
© , Alle Rechte vorbehalten, Josef M. Joller


Zielpublikum Software-Entwickler
Vorkenntnisse Java Grundlagen
Kursbeginn Dienstag und Donnerstag
Kursdauer 1 Abend
Zeiten Jeweils Dienstag und Donnerstag,17.30 bis 21.45 Uhr

Inhaltsverzeichnis - Java 2 Security Konzepte

KURSZIELE
Sie kennen die grundlegenden Sicherheitskonzepte von Java 2 und können
diese in der Praxis anwenden.

KURSUNTERLAGEN
Skript (PDF)
Beispiele (ZIP)
Jasmin (JVM Assembler) (ZIP)

KURSINHALTE
EINFÜHRUNG  IN  JAVA SECURITY	1
1.1.1.	Übersicht	2
1.1.2.	Lernziele	2
1.2.	MODUL 1 - ÜBERSICHT ÜBER DIE JAVA SECURITY	3
1.2.1.	Einführung	3
1.2.1.1.	Lernziele	3
1.2.2.	Was ist Security?	3
1.2.2.1.	Referenzen	3
1.2.3.	Gute Security Praktiken	4
1.2.4.	Security Praxis und Java	6
1.2.5.	Das Sandbox Sicherheitsmodell	7
1.2.6.	Selbsttestaufgaben	10
1.2.7.	Musterlösungen	11
1.2.8.	Zusammenfassung - Übersicht über Java Security	12
MODUL 2 - JVM UND DER VERIFIKATIONSPROZESS	13
1.3.1.	Einführung	13
1.3.2.	Java Virtual Machine	14
1.3.3.	Java Interpreter	15
1.3.4.	Class Datei Verfier	16
1.3.5.	Typensicherheit	21
1.3.6.	Fehler im Verifier früherer JDKs	22
1.3.7.	Typenvortäuschung	22
1.3.8.	Verifier und Class Loader Attacken	23
1.3.9.	Kimera Projekt	25
1.3.10.	Was wurde unternommen	26
1.3.10.1.	Formale Modelle	26
1.3.10.2.	Java Kompatibilitätstest	26
1.3.10.3.	Java Kompatibilität versus 100% Pure Java	26
1.3.10.4.	Java Compatibility Kit	27
1.3.10.4.1.	Java Test Harness	27
1.3.10.4.2.	Kompatibilitätseinschränkungen	27
1.3.10.4.3.	Test Komplexität	27
1.3.10.4.4.	Testwerkzeuge	27
1.3.10.4.5.	Testprozesskomplexität	28
1.3.10.4.6.	Zu testende Komponenten	28
1.3.10.4.7.	Compilertests	28
1.3.10.4.8.	Virtual Machines	28
1.3.10.4.9.	API Libraries	28
1.3.10.4.10.	Erweiterungen des JCK	28
1.3.11.	Indirekte Ausführung	29
1.3.12.	Übungen - mit Bytecode arbeiten	30
1.3.12.1.	Der Kimera Verifier und Disassembler	30
1.3.12.1.1.	Schritt 1 - HelloWorld.java	30
1.3.12.1.2.	Schritt 2 - Der Kimera Verifier	31
1.3.12.1.3.	Kimera Bytecode Verification - Literaturauszug	31
1.3.12.1.4.	Schritt 3 - Die Kimera Ausgabe	32
1.3.12.1.5.	Schritt 4 - Aufruf des Java Verifiers	33
1.3.12.1.6.	Schritt 5 - Der Kimera Disassembler Literaturauszug	33
1.3.12.1.7.	Schritt 6 - Ausgabe des Kimera Disassemblers	34
1.3.12.1.8.	Schritt 7 - Vergleich der Ausgabe von javap und des Kimera Disassemblers	35
1.3.12.2.	Konstruktion einer Klasse, die im Verifier verworfen wird	36
1.3.12.2.1.	Kimera Byte Code Verifiers Ausgabe	37
1.3.12.2.2.	Kimera Disassembler Ausgabe	39
1.3.12.3.	Jasmin - ein Java Assembler Interface	41
1.3.13.	Quiz	43
1.3.14.	Zusammenfassung des Moduls	44
1.4.	MODULE 3 - CLASS LOADERS	45
1.4.1.	Einleitung	45
1.4.1.1.	Lernziele	45
1.4.1.2.	Referenzen	45
1.4.2.	Wann werden Klassen geladen?	46
1.4.3.	Wie wird eine Klasse geladen?	47
1.4.3.1.	Validieren des Klassennamens	48
1.4.3.2.	Überprüfen des Cache	49
1.4.3.3.	Überprüfen der Oberklasse des Class Loaders	50
1.4.3.4.	Kreieren einer Referenz auf eine Datei oder ein Verzeichnis	51
1.4.3.5.	Laden des Bytecodes	51
1.4.3.6.	Installieren der Klasse	51
1.4.3.7.	Installieren der Klassen	52
1.4.3.8.	Klasse im Cache einfügen	52
1.4.3.9.	Die Klasse auflösen	52
1.4.4.	Class Loaders	53
1.4.4.1.	Standard Class Loader	53
1.4.5.	Kreieren eigener Class Loader	54
1.4.6.	Laden von Ressourcen	55
1.4.7.	Class Loaders in JDK 1.2	56
1.4.8.	Class Loader Sicherheitsfragen	57
1.4.9.	Übungen	59
1.4.9.1.	Mit dem Cache arbeiten	59
1.4.9.2.	Checksum Validation	64
1.5.	MODUL 4 - SECURITY MANAGER	66
1.5.1.	Einleitung	66
1.5.2.	Security Manager - Übersicht	67
1.5.3.	Security Managers und Applikationen	69
1.5.4.	Die checkXXX Methoden	69
1.5.5.	Methoden und Operationen	70
1.5.6.	FileInputStream Beispiel	71
1.5.7.	Kreieren eines eigenen Security Managers	74
1.5.8.	Security Manager Methoden	74
1.5.9.	Installieren eines Security Managers	77
1.5.10.	Datei Zugriff	77
1.5.11.	Nach der Installation	78
1.5.12.	Übung - Security Manager	79
1.5.12.1.	SampleClassLoader	79
1.5.12.2.	SampleSecurityManager	81
1.5.12.3.	Sum - Checksumme	85
1.5.12.4.	Runner	86
1.6.	MODUL 5 - ERWEITERUNG DES SANDBOX SECURITY MODELLS	87
1.6.1.	Einleitung	87
1.6.1.1.	Lernziele	87
1.6.1.2.	Referenzen	87
1.6.2.	Kurzwiederholung - Das Sandbox Security Modell	88
1.6.3.	Die Sandbox schützt nicht	89
1.6.4.	Applet Fähigkeiten	89
1.6.5.	Das Java Protection Domain Sicherheitsmodell	90
1.6.6.	Protection Domains	92
1.6.7.	Security Policy Datei	93
1.6.8.	Domains und Permissions	99
1.6.9.	Quiz	101
1.6.10.	Zusammenfassung - Erweiterung des Security Modells	103
1.7.	MODUL 6 - JAVA JDK SECURITY KLASSEN	104
1.7.1.	Einleitung	104
1.7.2.	Lernziele	104
1.7.3.	Referenzen	104
1.7.4.	Permissions und Security Policy	105
1.7.4.1.	java.security.BasicPermission	105
1.7.4.2.	java.security.Policy	105
1.7.4.3.	java.security.CodeSource	106
1.7.4.4.	java.security.Permission	106
1.7.4.5.	Die java.security.Permission.implies() Methode	107
1.7.4.5.1.	Beispiel - implies() Methode für java.io.FilePermission	107
1.7.4.6.	PermissionCollection	108
1.7.4.7.	PermissionCollection	108
1.7.5.	Access Control - Zugriffskontrolle	109
1.7.6.	Exceptions	112
1.7.6.1.	java.lang.SecurityException	113
1.7.6.2.	java.security.GeneralSecurityException	114
1.7.7.	PropertyPermission Class Analysis	115
1.7.7.1.	Andere Permission Klassen	115
1.7.8.	Einsatz der Permission Klassen	117
1.7.9.	Neue Permission Typen	118
1.7.10.	Quiz	120
1.7.11.	Übung	121
1.7.12.	Modul Zusammenfassung	131
1.8.	ZUSAMMENFASSUNG	132


Copyright ©, Alle Rechte vorbehalten.
Josef M. Joller Sonnenbergstrasse 73, CH-8610 USTER / Schweiz.

Sie sind bereits Sekunden auf dieser Seite
Heute ist (lokale Zeit)